/**
 * Description:
 * Class Name:HashMapErrorTest
 * Date:2022/3/6 14:39
 *
 * @author LTisme
 * @version JAVA17
 */
package 疯狂Java讲义.第8章_Java集合._8_6_增强的Map集合._8_6_2_改进的HashMap和Hashtable实现类;

import java.util.HashMap;

public class HashMapErrorTest {
    public static void main(String[] args) {
        var ht = new HashMap();
        // 此处的A类与前一个程序的A类是同一个类
        ht.put(new A(60000), "疯狂Java讲义");
        ht.put(new A(87563), "轻量级Java EE企业应用实战");
        // 获取Hashtable的keySet集合对应的Iterator迭代器
        System.out.println(ht);
        var it = ht.keySet().iterator();
        // 取出Map中第一个key，并修改它的count值
        var first = (A) it.next();
        first.count = 87563;        // 改完之后，两个元素的key值的count值就相等了
        System.out.println(ht);

        // 只能删除没有被修改过key所对应的key-value对
        ht.remove(new A(87563));
        ht.remove(new A(87563));
        System.out.println(ht);

        // 无法获取剩下的value，下面两行代码都将输出null
        System.out.println(ht.get(new A(87563)));
        System.out.println(ht.get(new A(60000)));
    }
}
//{A@ea60=疯狂Java讲义, A@1560b=轻量级Java EE企业应用实战}
//{A@1560b=疯狂Java讲义, A@1560b=轻量级Java EE企业应用实战}
//{A@1560b=疯狂Java讲义}
//null
//null